﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <cstdio>
#include <stdlib.h>
#include <iostream>
using namespace std;

class A

{

public:
	A(int a = 0)
		: _a(a)
	{
		cout << "A():" << this << endl;
	}
	~A()
	{
		cout << "~A():" << this << endl;
	}

private:
	int _a;
};

int main()
{

	A* p1 = (A*)malloc(sizeof(A));
	A* p2 = new A(1);
	cout << p1 << endl;
	cout << p2 << endl;
	free(p1);
	delete p2;
	// 内置类型是几乎是一样的

	int* p3 = (int*)malloc(sizeof(int)); // C

	int* p4 = new int;
	cout << p3 << endl;
	cout << p4 << endl;
	free(p3);
	delete p4;
	A* p5 = (A*)malloc(sizeof(A) * 10);
	A* p6 = new A[10];
	cout << p5 << endl;
	cout << p6 << endl;
	free(p5);
	delete[] p6;
	return 0;
}

//﻿int main(int argc, char* argv[])
//
//{
//
//	string strText = "How are you?";
//
//	string strSeparator = " ";
//
//	string strResult;
//
//	int size_pos = 0;
//
//	int size_prev_pos = 0;
//
//	while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
//
//	{
//
//		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//		cout << strResult << " ";
//
//		size_prev_pos = ++size_pos;
//
//	}
//
//	if (size_prev_pos != strText.size())
//
//	{
//
//		strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//		cout << strResult << " ";
//
//	}
//
//	cout << endl;
//
//	return 0;
//
//}
